The World Wide Web (WWW) of computers is a large collection of computers operated under a client-server computer network model. In a client-server computer network, a client computer requests information from a server computer. In response to the request, the server computer passes the requested information to the client computer. Server computers are typically operated by large information providers, such as commercial organizations, governmental units, and universities, and are typically referred to as "web sites". Client computers are typically operated by individuals.
To ensure interoperability in a client-server computer network, various protocols are observed. For example, a protocol known as the Hypertext Transport Protocol (HTTP) is used to move hypertext files across the WWW. In addition, the WWW observes several protocols for organizing and presenting information, two examples being the Hypertext Markup Language (HTML) and the Extensible Markup Language (XML). The information delivered by the server computer is typically referred to as a "web page".
A server computer can use a technique known as "dynamically-generated customized pages" to create a web page in response to a request for information from a client computer. A dynamically-generated customized page results in a set of information in a particular format. For example, a first client computer may support the ability to represent information in a number of columns, while a second client computer may support the ability to represent information in a table. Thus, a server computer receiving a request from the first client computer can dynamically generate the requested information in a format with columns. It can respond to a request from the second client computer by dynamically generating the requested information in table format. In this example, two customized pages are created to represent the same information.
It is not unusual for a server computer on the WWW to contain thousands or even tens of thousands of web pages. This large quantity of e makes it difficult for a person, i.e., a "web site visitor", operating a client computer to locate the information of most interest to them. In much the same way that dynamically-generated customized pages can be used to present the same information in a different presentation format for each client computer, dynamically-generated customized pages can be used to select the information to be displayed so that each web site visitor may see information customized to their specific interests. This process is known in the art as personalization.
Personalization can be achieved through current technology using survey questions to ascertain the visitor's interests, and using dynamically-generated customized pages compute customized pages for each visitor. There are two disadvantages to this approach. First, web site visitors frequently prefer to not fill out questionnaires when visiting a web site, making it difficult for a site to gather the necessary visitor preference data. Second, dynamic generation of every page on a server computer does not scale well for large numbers of requests. In other words, existing methods provide a relatively slow response when a large number of requests are made for personalized pages. This slow response time is attributable to the fact that in existing systems a computer program must be executed to completely generate each dynamic page on every single request.
In view of the foregoing, it would be highly desirable to provide a technique to unobtrusively gather web site visitor preference data and efficiently respond to a large number of requests for personalized pages.